home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / DOS / PRGMMING / M2PROTOS.ZIP / NFIO.DEF < prev    next >
Encoding:
Modula Definition  |  1991-02-09  |  2.0 KB  |  83 lines

  1. (*%F _fdata *)
  2. (*# call(seg_name => null) *)
  3. (*%E *)
  4. (*# module(implementation=>off) *)
  5. (*# data(seg_name => null) *)
  6. (*# call(o_a_copy => off) *)
  7. (*# check(stack=>off,
  8.           index=>off,
  9.           range=>off,
  10.           overflow=>off,
  11.           nil_ptr=>off) *)
  12.  
  13. DEFINITION MODULE NFIO;
  14.  
  15. (* A module for JPI Topspeed Modula-2 *)
  16. (* By Carl Neiburger
  17.    169 N. 25th St.
  18.    San Jose, Calif.
  19.  
  20.    CompuServe No. 72336,2257
  21.  
  22. NOTE: THIS IS AN ABRIDGED VERSION OF NFIO THAT INCLUDES
  23. PROCEDURES NEEDED FOR FILE TRANSFER PROTOCOLS
  24.  
  25. *)
  26.  
  27. IMPORT FioAsm;
  28.  
  29. TYPE
  30.   File = CARDINAL;
  31.  
  32. CONST
  33.   MaxOpenFiles = 15;
  34.  
  35.   readonly = FioAsm.readonly;
  36.   hidden   = FioAsm.hidden;
  37.   system   = FioAsm.system;
  38.   volume   = FioAsm.volume;
  39.   directory = FioAsm.directory;
  40.   archive  = FioAsm.archive;
  41.  
  42. TYPE
  43.   PathStr  =  FioAsm.PathStr;
  44.   PathTail =  FioAsm.PathTail;
  45.  
  46. (*
  47. PROCEDURE IOresult() : CARDINAL;
  48. These procedures set IOresult and return MAX(CARDINAL) if they fail:
  49. *)
  50. PROCEDURE Create(Name: ARRAY OF CHAR) : File;
  51. PROCEDURE Open  (Name: ARRAY OF CHAR) : File;
  52.  
  53. (* These procedures check IOresult and set OK *)
  54. PROCEDURE Size  (F: File) : LONGCARD;
  55. PROCEDURE EOF (F:File): BOOLEAN;
  56. PROCEDURE ChDir (Name: ARRAY OF CHAR);
  57. PROCEDURE Rename(Name,NewName : ARRAY OF CHAR);
  58. PROCEDURE GetPos(F: File) : LONGCARD;
  59. PROCEDURE Erase (Name: ARRAY OF CHAR);
  60. PROCEDURE Close (F: File);
  61.  
  62. (* These procedures do not set IOresult: *)
  63.  
  64. PROCEDURE Exists(Name: ARRAY OF CHAR) : BOOLEAN;
  65. PROCEDURE GetDir(Drive: SHORTCARD; VAR Name: ARRAY OF CHAR);
  66.  
  67. (* These procedures set OK to false if IOresult <> 0 *)
  68.  
  69. PROCEDURE WrBin    (F: File; Buf: ARRAY OF BYTE; Count: CARDINAL);
  70.  
  71. PROCEDURE RdChar   (F: File) : CHAR;
  72. PROCEDURE RdStr    (F: File; VAR V: ARRAY OF CHAR);
  73. PROCEDURE RdBin    (F: File; VAR Buf: ARRAY OF BYTE; Count: CARDINAL) : CARDINAL;
  74.  
  75. VAR OK          : BOOLEAN;
  76.  
  77. CONST
  78.  
  79.   IOresult = FioAsm.IOresult;
  80.   Write = FioAsm.Write;
  81.   Read = FioAsm.Read;
  82. END NFIO.
  83.